package com.dfrz.ch06.tackTeacher;

import java.util.Scanner;

/**
 * 程序功能：求两个数字的最大公约数和最小公倍数
 */
public class Test1 {

	/**
	 * 主函数
	 * @param args
	 */
	public static void main(String args[]) {

		Scanner scanner = new Scanner(System.in);
		while (true) {
			System.out.print("Please input two numbers: ");
			int num1 = scanner.nextInt();
			int num2 = scanner.nextInt();

			System.out.println("max_ynum = " + max_ynum(num1, num2));
			System.out.println("min_bnum = " + min_bnum(num1, num2));
			System.out.print("\t\n");
		}
	}


    //最大公约数
	public static int max_ynum(int p, int q){
    // 若q为0，则最大公约数为p
		if(q == 0) {
			return p;
		}
		int r = p % q;
		return max_ynum(q, r);
	}

	/**
	 * 求两个数字的最小公倍数 求两个数字（num1,num2）的最小公倍数，并返回该最小公倍数
	 *
	 * @param num1  待求数字1
	 * @param num2  待求数字2 return int类型，表示num1和num2的最小公倍数
	 * @return int类型，表示最小公倍数
	 */
	public static int min_bnum(int num1, int num2) {
		// 两数之积除以最大公公约数即为最小公倍数
		return (num1 * num2) / max_ynum(num1, num2);
	}
}